package com.education.welco.service;

import com.education.common.pojo.TStudent;
import com.education.common.utils.ApiReturnObject;
import com.education.welco.pojo.*;
import com.education.welco.pojo.dto.ForAppTeacherDTO;

import java.util.List;
import java.util.Map;

/**
 * 教师端app相关接口
 */
public interface IAppTeacherService {

    Map<String, Object> selectPaikeList(ForAppTeacherDTO dto);

    ApiReturnObject insertSTheoryClassroom(STheoryClassroom param) throws Exception;

    void testTransActional() throws Exception;

    ApiReturnObject selectSCatalogMenuList(SCatalogMenu sCatalogMenu);

//    ApiReturnObject selectSResourcesList(SResources resources);

    List<TClass> selectClassListByTeaId(TClass tClass);

    List<TStudent> selectStudentList(TStudent student);

    void updateStuByTea(TStudent student) throws Exception;

    ApiReturnObject addStuByTea(TStudent student);

    ApiReturnObject pasrejbytea(TStudent student);

    ApiReturnObject del(TStudent student);

    ApiReturnObject deptAndTeaList(TTeacher tTeacher);

    ApiReturnObject sCatalogMenuList(SCatalogMenu catalogMenu);

    ApiReturnObject roomList(STheoryClassroom theoryClassroom);

    ApiReturnObject shareSchResList(Integer schoolId, Integer teaId, String fileName,
                                    Integer pageNum, Integer pageSize, String orderBy);

    ApiReturnObject listDir(String pid, Long userId, Integer pageNum, Integer pageSize, String fileName);

    ApiReturnObject addStar(String resId, Integer userId);

    ApiReturnObject queryLeftMenuByTeaIdAndType(Integer teaId, Integer type);

    ApiReturnObject queryAllResListByTeaIdAndType(Integer teaId, Integer type, String resName,
                                                  Integer pageNum, Integer pageSize);

    ApiReturnObject queryResListByCatalogId(Integer catalogId, String resName, Integer pageNum,
                                            Integer pageSize, String orderBy, Integer resType);

    ApiReturnObject updateResourceName(Integer mineResId, String mineResName);

    ApiReturnObject recycleList(Integer teaId, Integer type, String resName, String orderBy, Integer pageNum, Integer pageSize);

    /**
     * 教师APP-回收站一键清空
     *
     * @param teaUserId 教师用户id
     * @return
     */
    ApiReturnObject oneClickClear(Integer teaUserId);

    ApiReturnObject agreement(Integer userId, String aType);
}
